import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { MsgService } from "./services/msg.service";

import { MatDialogModule } from "@angular/material";

import { MsgComponent } from "./cpt/msg/msg.component";

import { MatModule } from "@/mat/mat.module";

import {
  MatSnackBarModule,
  MAT_SNACK_BAR_DEFAULT_OPTIONS
} from "@angular/material/snack-bar";
import { SliderCodeComponent } from "./cpt/slider-code/slider-code.component";
import { L10nComponent } from "./cpt/l10n/l10n.component";

import { CptsRoutingModule } from "./cpts-routing.module";

import { NgxMatSelectSearchModule } from "ngx-mat-select-search";

// l10n
import {
  L10nConfig,
  L10nLoader,
  LocalizationModule,
  LocaleValidationModule,
  StorageStrategy,
  ProviderType,
  ISOCode,
  TranslationConfig,
  TRANSLATION_CONFIG
} from "angular-l10n";
import { SelectSearchComponent } from "./cpt/select-search/select-search.component";

import { DialogComponent } from "@/cpts/cpt/dialog/dialog.component";

import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { MyMenuComponent } from "./cpt/my-menu/my-menu.component";
import { FileComponent } from "./cpt/file/file.component";

@NgModule({
  imports: [
    CommonModule,
    CptsRoutingModule,
    MatSnackBarModule,
    MatModule,
    LocalizationModule,
    NgxMatSelectSearchModule,
    FormsModule,
    ReactiveFormsModule
  ],
  declarations: [
    MsgComponent,
    SliderCodeComponent,
    L10nComponent,
    SelectSearchComponent,
    DialogComponent,
    MyMenuComponent,
    FileComponent
  ],
  exports: [
    SliderCodeComponent,
    L10nComponent,
    SelectSearchComponent,
    DialogComponent,
    MyMenuComponent,
    FileComponent
  ],
  entryComponents: [MsgComponent, DialogComponent],
  providers: []
})
export class CptsModule {}
